import { debounce } from "./utils";
import BackTop from "components/content/backTop/BackTop";
//vue混入  高级语法 减少组件之间的代码重复问题
export const itemListenerMixin = {
  components: {},
  methods: {},
  data() {
    return {
      itemImgListener: null
    };
  },
  mounted() {
    // 代码抽取  通过 混入
    //使用防抖方式
    const refresh = debounce(this.$refs.scroll.refresh, 50);
    this.itemImgListener = () => {
      refresh();
    };
    // goodsitme的组件传递的
    this.$bus.$on("itemImageLoad", this.itemImgListener);
  }
};


// vue 返回顶部的混入封装
// export const backTopMixin = {
//   components: {
//     BackTop
//   },
//   data() {
//     return {
//        // 返回顶部时候可见
//        isShow: false,
//     };
//   },
//   // 能抽取的地方 抽取的东西不会合并  函数内部会被覆盖的 生命周期的是可以的 但是函数方法mothds是不行的 里面的函数不能 会被覆盖的  
//   methods:{
//     backClick() {
//       // console.log(this.$refs.scroll.scroll); //得到new 后的 组件对象
//       // 调用方法 就能方法顶部
//       // console.log(this.$refs.scroll.scroll.scrollTo(0,0,500));
//       // 优化的代码 直接去调用 在scroll定义的方法 这个方法就是方法顶部 传递实参过去
//       this.$refs.scroll.scrollTo(0, 0, 500);
//     },
//    listenShoBackTop(position) {
//      this.isShow = -position.y > 1000;
//    }

//   }
// }
